<?php
$config = array('host' => 'localhost', 'port' => '5672', 'login' => 'guest', 'password' => 'guest');
# 创建一个AMQP的连接
$conn = new AMQPConnection($config);

if ($conn->connect()) {
	$config = [
		'exchangeName' => 'wangjh',
		'exchangeName2' => 'wangjh2',

		'eqeueName' => 'wangjh',
		'eqeueName2' => 'wangjh2',

		'routeName' => 'key-route1',
		'routeName2' => 'key-route2',
	];

	$exchange_name = $config['exchangeName'];     # 交换机名称
	$exchange_name_2 = $config['exchangeName2'];     # 交换机02名称
	$quene_name = $config['eqeueName'];         # 队列名称
	$k_route = $config['routeName'];         # 路由名称
	$k_route_2 = $config['routeName2'];         # 路由名称

	# 创建信道
	$channel = new AMQPChannel($conn);

	// 创建交换机wangjh
	$ex = new AMQPExchange($channel);
	$ex->setName($exchange_name);
	$ex->setType(AMQP_EX_TYPE_DIRECT); // 设置路由规则
	$ex->setFlags(AMQP_DURABLE); // 这个要创建的交换机是否持久化
	$ex->declareExchange(); // 执行创建， 不要用declare(), 已经过时了，会报错的

	// 创建交换机wangjh02
	$ex2 = new AMQPExchange($channel);
	$ex2->setName($exchange_name_2);
	$ex2->setType(AMQP_EX_TYPE_DIRECT); // 设置路由规则
	$ex2->setFlags(AMQP_DURABLE); // 这个要创建的交换机是否持久化
	$ex2->declareExchange(); // 执行创建， 不要用declare(), 已经过时了，会报错的

	// 创建队列
	$q = new AMQPQueue($channel);
	$q->setName($quene_name);
	$q->setFlags(AMQP_DURABLE | AMQP_AUTODELETE); // 同上
	$q->declareQueue(); // 同上
	# 绑定交换机和路由
	$q->bind($exchange_name, $k_route);
	$q->bind($exchange_name_2, $k_route_2);


} else {
	echo "Cannot connect to the broker \n ";
	exit(0);
}
